package com.docmgmt.mvp.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 知识库成员VO（KB-008）
 *
 * @author Dora
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "知识库成员信息")
public class KbMemberVO {

    @Schema(description = "记录ID")
    private Long id;

    @Schema(description = "成员ID（用户ID或部门ID）")
    private Long memberId;

    @Schema(description = "成员类型：user用户/dept部门")
    private String memberType;

    @Schema(description = "成员名称（用户名或部门名）")
    private String memberName;

    @Schema(description = "权限类型：read/write/manage")
    private String permissionType;

    @Schema(description = "授权人ID")
    private Long grantedBy;

    @Schema(description = "授权人名称")
    private String grantedByName;

    @Schema(description = "授权时间")
    private LocalDateTime grantedAt;

    @Schema(description = "部门成员数（仅部门类型有值）")
    private Integer departmentMemberCount;
}
